/**
 * 定义生成器
 * 
 */

//函数声明
function* generatorFn(){}

//函数表达式
let generatorFn2 = function* () {}

//作为对象的方法
let foo = {
    *generatorFn(){}
}

//作为类实例的方法
class Foo {
    *generatorFn(){}
}

//作为静态方法
class Bar {
    static *generatorFn(){}
}

/**
 * 识别生成器函数不受星号两侧空格影响
 */


//调用生成器函数

let generatorFn3 = function* (){}
let generatorObj = generatorFn3()
console.log(generatorObj.next());//{ value: undefined, done: true }

let generatorFn4 = function* (){
    return 'foo'
}
console.log(generatorFn4().next());//{ value: 'foo', done: true }
